package com.zzl.bonds.ticket.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzl.bonds.ticket.dto.TicketDataDto;
import com.zzl.bonds.ticket.dto.TicketDataTransferAddDto;
import com.zzl.bonds.ticket.entity.TicketDataEntity;
import com.zzl.general.common.exception.SysException;
import com.zzl.general.common.serurity.entity.User;
import com.zzl.general.common.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * 开立或转让上传的资料
 *
 * @author sunpp
 * @date 2022-02-16 11:14:06
 */
@SuppressWarnings("javadoc")
public interface TicketDataService extends IService<TicketDataEntity> {


    /**
     * 通过票的id查 相关附件
     *
     * @param id
     * @return 附件集合
     */
    List<TicketDataEntity> getByTicketId(String id,Integer type);

    /**
     * 分页查询
     *
     * @param params 查询参数
     * @return 分页数据
     */
    PageUtils queryPage(Map<String, Object> params);

    /**
     * 新增
     *
     * @param ticketDataAddDto 新增实体
     * @param user             当前登录用户
     * @throws SysException 业务异常
     */
    void saveTicketData(List<TicketDataDto> ticketDataAddDto, User user) throws SysException;

    /**
     * 查找申请单的文件集合
     *
     * @param id   申请单id
     * @param type 类型
     * @return 文件集合
     */
    List<TicketDataEntity> getByTicketIdAndType(String id, Integer type);



    /**
     * 新增
     *
     * @param ticketDataAddDto 新增实体
     * @param user             当前登录用户
     * @throws SysException 业务异常
     */
    void saveTicketTransferData(List<TicketDataTransferAddDto> ticketDataAddDto, User user) throws SysException;

}

